package com.xydtech.ecard.ecard.mapper;

import com.xydtech.ecard.ecard.domain.EcardApiEnterpriseLocation;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片企业场所信息Mapper接口
 *
 * @author yuzhiguo
 * @date 2024-07-26 下午5:10
 */
public interface EcardApiEnterpriseLocationMapper {

    /**
     * 电子名片-保存场所信息
     * @param ecardApiEnterpriseLocation
     * @return
     */
    int addLocationInfo(EcardApiEnterpriseLocation ecardApiEnterpriseLocation);

    /**
     * 电子名片-查询场所信息详情接口
     * @param id
     * @return
     */
    EcardApiEnterpriseLocation selectEcardEnterpriseLocationById(@Param("id") Long id);

    /**
     * 根据ID修改场所信息状态
     * @param id
     * @return
     */
    int changeLocationStatus(Long id);

    /**
     * 条件查询场所信息列表接口
     * @param ecardApiEnterpriseLocation
     * @return
     */
    List<EcardApiEnterpriseLocation> getLocationInfoList(EcardApiEnterpriseLocation ecardApiEnterpriseLocation);

    /**
     * 根据场所名称查询场所信息列表
     * @param locationName
     * @param deptId
     * @return
     */
    List<EcardApiEnterpriseLocation> selectEnterpriseLocationByLocationName(@Param("locationName") String locationName,
                                                                            @Param("deptId") Long deptId);

    /**
     * 更新场所信息的管户人id和机构id
     * @param id
     * @param creatorId
     * @param deptId
     * @return
     */
    int updateLocationUserId(@Param("id") Long id, @Param("creatorId") Long creatorId, @Param("deptId") Long deptId);

    /**
     * 查询场所信息地图坐标列表接口
     * @param creatorId
     * @param deptId
     * @return
     */
    List<EcardApiEnterpriseLocation> getLocationCoordinateList(@Param("creatorId") Long creatorId, @Param("deptId") Long deptId);

    /**
     * 根据法人机构ID查询机构下所有场所信息坐标信息列表
     *
     * @param deptId
     * @return
     */
    List<EcardApiEnterpriseLocation> getAllLocationCoordinateList(@Param("creatorId") Long creatorId, @Param("deptId") Long deptId);
}
